package cz.apnetis.fitgadget.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.gadgets.client.Gadget;
import com.google.gwt.gadgets.client.Gadget.AllowHtmlQuirksMode;
import com.google.gwt.gadgets.client.Gadget.InjectModulePrefs;
import com.google.gwt.gadgets.client.Gadget.ModulePrefs;
import com.google.gwt.gadgets.client.Gadget.UseLongManifestName;
import com.google.gwt.gadgets.client.UserPreferences;
import com.google.gwt.gadgets.client.gwtrpc.GadgetsGwtRpc;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
import com.google.gwt.user.client.ui.RootLayoutPanel;

import cz.apnetis.fitweb.client.FoodService;
import cz.apnetis.fitweb.client.FoodServiceAsync;
import cz.apnetis.fitweb.client.FoodWidget;
import cz.apnetis.fitweb.client.InitializeEverithinig;

@ModulePrefs(title = "Fit4Health", author = "Lukas \"benzin\" Benda",
    author_email = "luk.benda@gmail.com",
    scrolling=true, singleton=true, scaling=true,
    description="Tool for track your food calories income.")
@InjectModulePrefs(files={"gadget.oauth.xml"})
@UseLongManifestName(true)
@AllowHtmlQuirksMode(true)
public class Fitgadget extends Gadget<UserPreferences> {

  @Override
  protected void init(final UserPreferences prefs) {
    InitializeEverithinig.initializeEverithink();
    final FoodServiceAsync foodService = GWT.create(FoodService.class);
    GadgetsGwtRpc.redirectThroughProxy((ServiceDefTarget) foodService);
    

    final FoodWidget foodEditWidget = new FoodWidget(foodService);

    RootLayoutPanel.get().add(foodEditWidget);
  }
}
